home *** CD-ROM | disk | FTP | other *** search
/ A Field Trip to the Sky (Demo) / Mac_Sunburst_AFieldTripToTheSky-Demo.iso / DIR / SHARED.DIR / 01102_Script_Button Handlers < prev    next >
Text File  |  1996-03-27  |  3KB  |  146 lines

  1. global gGameFrame
  2.  
  3. -- ïïïï doInitGeneralButtons ïïïï
  4. -- change the go back button and title if we're in a general screen like the Terms
  5. on doInitGeneralButtons id
  6.   
  7.   -- its a real object screen, it'll have all these things
  8.   if gGameFrame = 0 OR the moviename contains "game" then
  9.     
  10.     setCastPicture id, "O", "BACKUP.PICT", 1164
  11.     setCastPicture id, "O", "BACKDN.PICT", 1163
  12.   end if
  13.   
  14.   setCastPicture id, "", "title.pict", 1161
  15.   
  16.   
  17. end
  18.  
  19. on setCastPicture id, prefix, castName, dstNum
  20.   duplicate cast (id & castName), dstNum
  21.   set the name of cast dstNum to castName
  22. end
  23.  
  24. -- ïïï doUpdateSound ïïï
  25. -- update the file that points to the basic structure so that we have the right sound
  26. on doUpdateSound
  27.   global gVol, gPathChar
  28.   
  29.  
  30.   set theNewName to gVol & "DIR" & gPathChar & "BASIC"
  31.   
  32.   if( the soundEnabled ) then 
  33.     set theNewName to theNewName & "ON.DIR"
  34.   else 
  35.     set theNewName to theNewName & "OFF.DIR"
  36.   end if
  37.   
  38.   if theNewName <> the fileName of cast 1162 then
  39.     set the fileName of cast 1162 to theNewName
  40.   end if
  41.   
  42.   updateStage
  43.   
  44. end
  45.  
  46.  
  47.  
  48. -- ïïïï doButtonPress ïïïï
  49. -- change the button to a different cast to show its pressed
  50. on doButtonPress
  51.   
  52.   -- first get the number of the sprite we're dealing with  
  53.   set theSprite to the clickOn
  54.   
  55.   doStartModButtonPress( theSprite, (the castNum of sprite theSprite) - 1, 0 )
  56.   
  57.   doEndButtonPress()
  58.   
  59.   return TRUE
  60.   
  61. end doButtonPress
  62.  
  63.  
  64. -- ïïïï doStartButtonPress ïïïï
  65. -- start a timed button press
  66. on doStartButtonPress
  67.   
  68.   set theSprite to the clickOn
  69.   
  70.   return doStartModButtonPress( theSprite,(the castNum of sprite theSprite) - 1, 20 )
  71.   
  72. end doStartButtonPress
  73.  
  74.  
  75. -- ïïïï doStartModButtonPress ïïïï
  76. -- change the button to a different cast to show its pressed
  77. -- with timer/sprite modifiers
  78.  
  79. global gButtonSprite
  80. global gUpCast
  81.  
  82. on doStartModButtonPress theSprite, downCast, downTime
  83.   
  84.   -- first get the number of the sprite we're dealing with
  85.   set gButtonSprite to theSprite
  86.   set gUpCast to the castNum of sprite theSprite
  87.   
  88.   -- puppet it
  89.   puppetSprite gButtonSprite, TRUE
  90.   
  91.   -- do the click down sound
  92.   puppetSound "Mouse Down Sound"
  93.   
  94.   -- change the sprite and redraw
  95.   set the castNum of sprite gButtonSprite to downCast
  96.   updateStage
  97.   
  98.   -- return TRUE if the mouse is still over this sprite
  99.   -- startTimer()
  100.   --
  101.   -- first check if its a short click
  102.   --  repeat while the stillDown AND (downTime = 0 OR the timer < downTime)
  103.   --    nothing
  104.   --  end repeat
  105.   --  
  106.   --  -- its a long click if we're still down
  107.   --  return the stillDown
  108.   
  109.   return TRUE
  110.   
  111. end doStartModButtonPress
  112.  
  113.  
  114. -- ïïïï doEndButtonPress ïïïï
  115. -- change the button back to its original state
  116.  
  117. on doEndButtonPress
  118.   
  119.   -- wait for a button up
  120.   --  repeat while the stillDown
  121.   --    nothing
  122.   --  end repeat
  123.   
  124.   -- do the upclick
  125.   puppetSound "Mouse Up Sound"
  126.   
  127.   -- change the button
  128.   set the castNum of sprite gButtonSprite to gUpCast
  129.   puppetSprite gButtonSprite, FALSE
  130.   updateStage
  131.   
  132.   repeat while ( soundBusy(1)  OR soundBusy(2) )
  133.     nothing
  134.   end repeat
  135.   
  136.   puppetSound 0
  137.   updateStage
  138.   
  139.   -- return TRUE if the mouse is still over this sprite
  140.   -- return rollover(gButtonSprite)
  141.   
  142.   return TRUE
  143.   
  144. end doEndButtonPress
  145.  
  146.